﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;

namespace WpfApp6
{
    public class PersonViewModel:INotifyPropertyChanged
    {
        // 定义私有变量_name，用于存储姓名信息
        private string _name = "张三";

        // 姓名属性，用于获取和设置_name的值
        public string Name
        {
            get { return _name; } // 获取姓名
            set 
            { 
                _name = value; 
                OnPropertyChanged();
            } // 设置姓名
        }

        // 定义私有变量_age，用于存储年龄信息
        private int _age = 20;

        // 年龄属性，用于获取和设置_age的值
        public int Age
        {
            get { return _age; } // 获取年龄
            set 
            { 
                _age = value;
                OnPropertyChanged();
            } // 设置年龄
        }

        private string _address = "北京"; // 存储地址信息的私有字段

        // 地址属性，用于获取和设置地址值
        public string Address
        {
            get { return _address; } // 获取当前地址值
            set 
            { 
                _address = value; 
                OnPropertyChanged();
            } // 设置地址值
        }

        private string _job = "职位";

        public string Job
        {
            get { return _job; }
            set 
            { 
                _job = value;
                OnPropertyChanged();
            }
        }


        public event PropertyChangedEventHandler PropertyChanged;

        /// <summary>
        /// 属性通知
        /// </summary>
        /// <param name="propertyName"></param>
        protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}
